home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / Ant Movie Catalog 3.5.0.2 / amc_install.exe / {app} / Scripts / HtmlToChm.ifs < prev    next >
Text File  |  2005-05-28  |  9KB  |  239 lines

  1. (***************************************************
  2.  
  3. Ant Movie Catalog importation script
  4. www.antp.be/software/moviecatalog/
  5.  
  6. [Infos]
  7. Authors=ScorEpioN
  8. Title=HTML TO CHM
  9. Description=Transformation d'un catalogue HTML en CHM.
  10. Site=http://scorepion.le-site.info
  11. Language=FR
  12. Version=02 du 28/05/2005
  13. Requires=3.5
  14. Comments=Ce script nΘcessite le fichier ScorEpioNCommonScript.pas|.==.| :   ' ( ( ( ( /\ |  "==()))))):     ⌐ ScorEpioN ⌐|       ( ( ( ( \_/
  15. License=
  16. GetInfo=0
  17.  
  18. [Options]
  19. Mise α jour=1|1|0=Oui|1=Non
  20. Afficher le CHM final=1|1|0=Oui|1=Non
  21.  
  22. ***************************************************)
  23.  
  24. program HTMLtoCHM;
  25. uses
  26.   ScorEpioNCommonScript;
  27.  
  28. const
  29.   VersionScript = '02 du 28/05/2005';
  30.   NomScript = 'HTMLTOCHM';
  31.  
  32. var
  33.   Value, NomCatalog, NomHTML, PathHHW, ExitScript : String;
  34.   hhpfile : TStringList;
  35.  
  36. //------------------------------------------------------------------------------
  37. // MENU PRINCIPAL
  38. //------------------------------------------------------------------------------
  39. procedure menuPrincipal();
  40. begin
  41.     PickTreeClear;
  42.     PickTreeAdd('CrΘation d''un fichier CHM depuis un catalogue exportΘ en HTML :', '');
  43.     PickTreeAdd('Explications', 'howto');
  44.     PickTreeAdd('Options', 'params');
  45.     PickTreeAdd('CrΘation du fichier CHM', 'CHM');
  46.     PickTreeAdd('Quitter le script', 'ScriptExit');
  47.     PickTreeExec(Value);
  48.  
  49.     If Value = 'params' then
  50.        menuConfig()
  51.     else If Value = 'howto' then
  52.        howto()
  53.     else If Value = 'ScriptExit' then
  54.        ExitScript := 'O'
  55.     else If Value = 'CHM' then
  56.        CreateCHM();
  57. end;
  58.  
  59. //------------------------------------------------------------------------------
  60. // HOWTO
  61. //------------------------------------------------------------------------------
  62. procedure howto();
  63. begin
  64.     showmessage('1░) Exporter votre catalogue en HTML.'+#13#10+'> Complet : PDA_template_full.html'+#13#10+'> Individuel : PDA_template_indiv.html'+#13#10+'2░) Installer HTML Help Workshop de Microsoft'+#13#10+'> Lien dans ''Options'''+#13#10+'3░) Configuration des options'+#13#10+'> Nom des fichiers, liens vers le catalogue...'+#13#10+'4░) CrΘation du fichier HHP'+#13#10+'> Fichier de configuration nΘcessaire pour la crΘation du fichier CHM'+#13#10+'4░) CrΘation du fichier CHM'+#13#10+'> Compilation des pages HTML en un fichier CHM'+#13#10#13#10+'Les fichiers CHM sont lisibles sur tout les postes Windows, et sur les Pocket PC.'+#13#10#13#10+'Pour les Pocket Pc, il est nΘcessaire d''installer ''CHM reader.Net'' ou ''CHM eBook Reader''.');
  65.     menuPrincipal();
  66. end;
  67.  
  68. //------------------------------------------------------------------------------
  69. // CONFIG
  70. //------------------------------------------------------------------------------
  71. procedure menuConfig();
  72. begin
  73.     PickTreeClear;
  74.     PickTreeAdd('Options :', '');
  75.     PickTreeAdd('HTML Help Workshop :', '');
  76.     PickTreeAdd('TΘlΘcharger HTML Help Workshop de Microsoft.', 'dlHHW');
  77.     PickTreeAdd('RΘpertoire de ''HTML Help Workshop'' :', '');
  78.     PickTreeAdd(PathHHW, 'PathdeHHW');
  79.     PickTreeAdd('Nom du CHM crΘΘ :', '');
  80.     PickTreeAdd(NomCatalog, 'nomduCatalog');
  81.     PickTreeAdd('Chemin du fichier exporter en HTML ''Complet'' :', '');
  82.     PickTreeAdd(NomHTML, 'nomduHTML');
  83.     PickTreeAdd('', '');
  84.     PickTreeAdd('Retour au menu principal.', 'principal');
  85.     PickTreeExec(Value);
  86.  
  87.     If Value = 'dlHHW' then
  88.        dlHHW()
  89.     else If Value = 'PathdeHHW' then
  90.        pathdeHHW()
  91.     else If Value = 'nomduCatalog' then
  92.        nomduCatalog()
  93.     else If Value = 'principal' then
  94.        menuPrincipal()
  95.     else If Value = 'nomduHTML' then
  96.        nomduHTML();
  97. end;
  98.  
  99. procedure dlHHW();
  100. begin
  101.      Launch('http://divouix.free.fr/Fichiers/htmlhelp.exe', '');
  102.      menuConfig();
  103. end;
  104.  
  105. procedure pathdeHHW();
  106. begin
  107.      PathHHW := GetStatic('PathHHW');
  108.      Value := choixFichier('RΘpertoire de HTML Help Workshop', 'Entrer le chemin vers le rΘpertoire de HTML Help Workshop', PathHHW);
  109.      if (copy(Value,length(Value),length(Value)) <> '\') then
  110.         Value := Value+'\';
  111.      SetStatic('PathHHW',Value);
  112.      PathHHW := GetStatic('PathHHW');
  113.      menuConfig();
  114. end;
  115.  
  116. procedure nomduCatalog();
  117. begin
  118.      NomCatalog := GetStatic('CatalogName');
  119.      Value := choixFichier('Nom du CHM crΘΘ', 'Entrer le nom du CHM que vous voulez crΘer', NomCatalog);
  120.      SetStatic('CatalogName',Value);
  121.      NomCatalog := GetStatic('CatalogName');
  122.      menuConfig();
  123. end;
  124.  
  125. procedure nomduHTML();
  126. begin
  127.      NomHTML := GetStatic('HTMLName');
  128.      Value := choixFichier('Chemin du fichier exporter en HTML Complet', 'Entrer le chemin vers le fichier HTML (Export Complet)'+#13#10+'Doit terminer par .htm ou .html', NomHTML);
  129.      if (pos('.htm',Value) = 0) then
  130.         Value := 'Lien vers votre catalogue au format HTML.';
  131.      SetStatic('HTMLName',Value);
  132.      NomHTML := GetStatic('HTMLName');
  133.      menuConfig();
  134. end;
  135.  
  136. //------------------------------------------------------------------------------
  137. // CREATION DU FICHIER HHP
  138. //------------------------------------------------------------------------------
  139. procedure CreateHHP();
  140. begin
  141.      PathHHW := GetStatic('PathHHW');
  142.      NomCatalog := GetStatic('CatalogName');
  143.      NomHTML := GetStatic('HTMLName');
  144.      hhpfile := TStringList.Create;
  145.      hhpfile.Add('; .==.');
  146.      hhpfile.Add('; :   '' <<<< /\');
  147.      hhpfile.Add('; ''''==<)))))):     CHM by ScorEpioN');
  148.      hhpfile.Add(';      <<<< \_/');
  149.      hhpfile.Add('');
  150.      hhpfile.Add('[OPTIONS]');
  151.      hhpfile.Add('Compatibility=1.1 or later');
  152.      hhpfile.Add('Compiled file='+NomCatalog+'.chm');
  153.      hhpfile.Add('Default topic='+NomHTML);
  154.      hhpfile.Add('Display compile progress=Yes');
  155.      hhpfile.Add('Full-text search=Yes');
  156.      hhpfile.Add('Language=0x40c Franτais (France)');
  157.      hhpfile.Add('Title='+NomCatalog);
  158.      hhpfile.Add('');
  159.      hhpfile.Add('[FILES]');
  160.      hhpfile.Add(NomHTML);
  161.      hhpfile.Add('');
  162.      hhpfile.Add('[INFOTYPES]');
  163.      hhpfile.SaveToFile(PathHHW+NomCatalog+'.hhp');
  164.      hhpfile.Free;
  165. end;
  166.  
  167. //------------------------------------------------------------------------------
  168. // CREATION DU FICHIER CHM
  169. //------------------------------------------------------------------------------
  170. procedure CreateCHM();
  171. Var
  172.    Drive : String;
  173. begin
  174.      if (ShowConfirmation('CrΘation du fichier CHM : '+#13#10+'Le fichier crΘΘ sera : '+#13#10#13#10+PathHHW+NomCatalog+'.chm'+#13#10#13#10+'Cliquer sur ''OUI'' pour valider.'+#13#10+'Cliquer sur ''NON'' pour annuler.') = True) then
  175.      begin
  176.        CreateHHP();
  177.        Drive := copy(PathHHW,0,2);
  178.        hhpfile := TStringList.Create;
  179.        hhpfile.Add('@echo on');
  180.        hhpfile.Add(Drive);
  181.        hhpfile.Add('cd "'+PathHHW+'"');
  182.        hhpfile.Add('hhc '+NomCatalog+'.hhp');
  183.        if GetOption('Afficher le CHM final') = 0 then
  184.           hhpfile.Add('start '+NomCatalog+'.chm');
  185.        hhpfile.Add('del -f '+NomCatalog+'.hhp');
  186.        hhpfile.Add('del -f '+NomCatalog+'.bat');
  187.        hhpfile.SaveToFile(PathHHW+NomCatalog+'.bat');
  188.        hhpfile.Free;
  189.        Launch(PathHHW+NomCatalog+'.bat','');
  190.        showmessage('Le catalogue au format CHM a bien ΘtΘ crΘΘ.'+#13#10#13#10+'Le fichier '''+NomCatalog+'.chm'' se trouve dans le rΘpertoire '''+PathHHW+'''.');
  191.      end;
  192.      ExitScript := 'O';
  193.      exit;
  194.  
  195. end;
  196.  
  197. //------------------------------------------------------------------------------
  198. // PROCEDURE D'AFFICHAGE DE MESSAGE
  199. //------------------------------------------------------------------------------
  200. function choixFichier(LeTitre, LeMessage, LeResultat : String) : String;
  201. begin
  202.     if Input(LeTitre, LeMessage, LeResultat) then
  203.       result := LeResultat
  204.     else
  205.       exit;
  206.     result := LeResultat;
  207. end;
  208.  
  209. //------------------------------------------------------------------------------
  210. // PROGRAMME PRINCIPAL
  211. //------------------------------------------------------------------------------
  212.  
  213. begin
  214.   if CheckVersion(3,5,0) then
  215.   begin
  216.     if GetOption('Mise α jour') = 0 then
  217.     begin
  218.        execMenuMAJ(VersionScript,NomScript);
  219.        exit;
  220.     end;
  221.     NomCatalog := GetStatic('CatalogName');
  222.     NomHTML := GetStatic('HTMLName');
  223.     PathHHW := GetStatic('PathHHW');
  224.     if NomCatalog = '' then
  225.        SetStatic('CatalogName','Catalogue');
  226.     if NomHTML = '' then
  227.        SetStatic('HTMLName',dirApp+'Templates\Catalogue\Catalogue.amc.html');
  228.     if PathHHW = '' then
  229.        SetStatic('PathHHW','C:\Program Files\HTML Help Workshop\');
  230.     NomCatalog := GetStatic('CatalogName');
  231.     NomHTML := GetStatic('HTMLName');
  232.     PathHHW := GetStatic('PathHHW');
  233.     if ExitScript <> 'O' then
  234.        menuPrincipal();
  235.   end else
  236.     ShowMessage('Ce script requiert une version plus rΘcente de Ant Movie Catalog (au moins la version 3.5.0)');
  237.     exit;
  238. end.
  239.